package com.xiahui.day01;

/**
 * 逻辑运算符
 * &   与    要求两个或者多个条件同时成立则最终结果为true
 * 没有短路的效果    不管前边的条件结果如何  都将执行完所有的条件
 * && 短路与  要求两个或者多个条件同时成立则最终结果true
 * 短路与  有短路的效果   如果前边有条件不成立   则后续的条件不再执行
 * |   或    要求两个或者多个条件至少有一个成立则最终结果为true
 * 没有短路的效果      不管前边的条件结果如何  都将执行完所有的条件
 * || 短路或  要求两个或者多个条件至少有一个成立则最终结果为true
 * 短路或  有短路的效果    如果前边有条件不成立  则后续的不再执行
 * !  非     取反
 */
public class TestLogicOperator {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 10;
        System.out.println(a < b & b > c);
        System.out.println(a < b && b > c);

        System.out.println("----------------------------------------------");

        System.out.println(a<b&b<c);
        System.out.println(a<b&&b<c);

        System.out.println("------------------------------------------------");

        System.out.println(a<b|b>c);
        System.out.println(a<b||b>c);

        System.out.println("---------------------------------------------");

        System.out.println(a>b|b<c);
        System.out.println(a>b||b<c);

        System.out.println("-------------------------------------------------");

        boolean flag1 = true;
        System.out.println("flag1 = " + !flag1);

        boolean flag2=false;
        System.out.println("flag2 = " + !flag2);
    }
}
